package com.greate.community.controller;

import com.greate.community.jwt.JwtUser;
import org.springframework.security.core.context.SecurityContextHolder;

/**
 * 类名称：BaseController
 * 类描述：控制类基类
 * 创建人：CSUpipixia
 * 创建时间：2022/1/28 13:54
 *
 * @version v1.0
 */
public class BaseController {

    protected JwtUser getUser() {
        Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        /**
         * 当未登录时，SecurityContextHolder.getContext().getAuthentication().getPrincipal()返回值
         * 为String类型字符串 "anonymousUser" ，无法直接转成 User 类型，会抛出异常，这里做一定处理
         */
        if ("anonymousUser".equals(principal)) {
            return null;
        } else {
            return (JwtUser) principal;
        }
    }
}
